#ifndef NODE_H
#define NODE_H

#include "matrix.h"

class Node {
public:
	virtual void render() = 0;
	Node* getParent() { return parent; }
	Matrix4f getLocalTransform() {
		return Matrix4f();
	}
	Matrix4f getWorldTransform() {
		if (parent != 0) {
			return getLocalTransform() * parent->getWorldTransform();
		} else {
			return getLocalTransform();
		}
	}

protected:
	Node* parent = 0;
};

#endif
